<?php 


/**
* 
*/
class B 
{
	public static $color=0;

	public static function jiao()
	{
		# code...
	}
	
}

/**
* 
*/
class A extends B
{
	public $name;

	public static $num=0;

	public function getnum()
	{
		parent::$color;
		parent::jiao();
		echo self::$num;
		self::$num++;
		self::abc();
	}

	public static function abc()
	{
		echo "888";
	}
}

// A::$num;  //直接可以调用，多个对象中共享
// A::abc(); 

// $obj = new A();

// $obj->getnum();


// $obj1 = new A();

// $obj1->getnum();


/**
* 
*/
abstract class Dongwu 
{
	abstract protected function run();
	abstract protected function jiao();
	public function abc()
	{
		# code...
	}
}

abstract class Shengwu 
{
	abstract protected function paoxiao();
}


class Dog extends Dongwu
{
	public function run()
	{
		echo "888";
	}

	public function jiao()
	{
		echo "9999";
	}
	
}

// $dog = new Dog();

interface  Ubs{
	public function chuangpian(); 
}

interface Data{
	public function down();
}

class Pc implements Ubs,Data
{
	public function chuangpian()
	{
		# code...
	}
	public function down()
	{
		# code...
	}
}

// $pc = new Pc();


// echo __LINE__;
// echo __FILE__;
// echo __DIR__;

/**
* 
*/
class E 
{
	
	public function getClassname()
	{
		echo __CLASS__;
	}
}

class F 
{
	
	public function getClassname()
	{
		// echo __CLASS__;
		echo __METHOD__;
	}
	public function abc()
	{
		echo __METHOD__;
	}
}

$obj = new F();

// $obj->abc();


class Car 
{
	public function run()
	{
		echo "run";
	}

	public function __get($name)
	{
		var_dump($name);
	}

	public function __set($name,$value)
	{
		var_dump($name,$value);
	}

	public function __unset($name)
	{
		var_dump($name);
	}
	public function __isset($name)
	{
		var_dump($name);
	}
	public function __call($name,$data)
	{
		var_dump($name,$data);
	}
}

$obj = new Car();

$obj->abc("89");





 ?>